package org.jsola.hr.vo.payWx;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.util.List;

/**
 * 批次下单(微信)
 *
 * @author zhr
 */
@ApiModel(description = "【批次下单(微信)】批次创建订单对象")
@Data
public class VxBatchOrderVO {

    /**
     * 特约商户号（必填）
     */
    @JSONField(name = "sub_mchid")
    private String subMchid;

    /**
     * 特约商户授权类型(必填)  固定值：FUND_AUTHORIZATION_TYPE
     */
    @JSONField(name = "authorization_type")
    private String authorizationType;

    /**
     * 商家批次单号（必填） 在商户系统内部唯一
     */
    @JSONField(name = "out_batch_no")
    private String outBatchNo;

    /**
     * 批次名称（必填） 该笔批量转账的名称
     */
    @JSONField(name = "batch_name")
    private String batchName;

    /**
     * 批次备注（必填） 转账说明，UTF8编码，最多允许32个字符
     */
    @JSONField(name = "batch_remark")
    private String batchRemark;

    /**
     * 转账总金额（必填）  转账金额单位为“分”
     */
    @JSONField(name = "total_amount")
    private Integer totalAmount;

    /**
     * 转账总笔数（必填）  一个转账批次单最多发起三千笔转账
     */
    @JSONField(name = "total_num")
    private Integer totalNum;

    /**
     * 服务商的appid（必填）  微信分配的服务商商户公众账号ID
     */
    @JSONField(name = "sp_appid")
    private String spAppid;

    /**
     * 转账用途
     * 枚举值：
     * GOODSPAYMENT：货款
     * COMMISSION：佣金
     * REFUND：退款
     * REIMBURSEMENT：报销
     * FREIGHT：运费
     * OTHERS：其他
     */
    @JSONField(name = "transfer_purpose")
    private String transferPurpose;

    /**
     * 发起批量转账的明细列表，最多三千笔 (必填)
     */
    @JSONField(name = "transfer_detail_list")
    List<VxTransOrderVO> vxTransOrderVOList;

    /**
     * 商户的转账场景
     * ORDINARY_TRANSFER：普通转账，可转入用户的零钱账户
     * PAYROLL_CARD_TRANSFER：微工卡转账，可转入用户在微工卡选择的收款账户（零钱/银行卡）
     */
    @JSONField(name = "transfer_scene")
    private String transferScene;



}

